package com.ybkj.daijia.server.mapper;

import com.ybkj.daijia.server.model.DriverLevel;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface DriverLevelMapper {

    /**
     * 保存提成信息
     *
     * @param driverLevel
     * @return
     */
    int insertRecord(DriverLevel driverLevel);

    /**
     * 根据主键查询提成信息
     *
     * @param id
     * @return
     */
    DriverLevel selectByPrimaryKey(Long id);

    /**
     * 根据一组主键查询提成信息
     *
     * @param ids
     * @return
     */
    List<DriverLevel> selectByIdIn(Long ids[]);

    /**
     * 根据公司查询一组提成信息
     *
     * @param companyId
     * @return
     */
    List<DriverLevel> selectByCompany(@Param("companyId") Long companyId);

    /**
     * 根据主键删除提成信息
     *
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Long id);

    /**
     * 根据公司删除提成信息
     *
     * @param companyId
     * @return
     */
    int deleteByCompany(Long companyId);

    /**
     * 根据主键更新公司信息
     *
     * @param driverLevel
     * @return
     */
    int updateByPrimaryKey(DriverLevel driverLevel);

    /**
     * 根据公司和提成名称模糊查询提成信息
     *
     * @param companyId
     * @param name
     * @param offset
     * @param size
     * @return
     */
    List<DriverLevel> selectByCompanyAndNameLike(
        @Param("companyId") Long companyId, @Param("name") String name,
        @Param("offset") Integer offset, @Param("size") Integer size);

    /**
     * 根据公司和提成名称模糊查询统计提成信息
     *
     * @param companyId
     * @param name
     * @return
     */
    long countByCompanyAndNameLike(@Param("companyId") Long companyId, @Param("name") String name);
}
